How to show a specific amount of multivalue fields depending on a value of the parent node?
Don't know what the proper way is to handle answers where the solution comes from another posting. So I only make the reference here: https://drupal.stackexchange.com/a/140861/24957 

The code below works perfectly and only shows $amountOptions fields.

if (!isset($form_state['build_info']['args'][0]-&gt;field_toinvest[LANGUAGE_NONE][0]['value']) &amp;&amp; !isset($form_state['default_fields'])) {
for ($i = 0; $i &lt; $amountOptions; $i++) {
// First field is already in form.
  if ($i &gt; 0) {
    $form['field_toinvest'][LANGUAGE_NONE][$i] = $form['field_toinvest'][LANGUAGE_NONE][0];
  }

  // Set form values
  $form['field_toinvest'][LANGUAGE_NONE][$i]['value']['#default_value'] = 0;
  $form['field_toinvest'][LANGUAGE_NONE][$i]['value']['#value'] = 0;

  // Set row weight
 $form['field_toinvest'][LANGUAGE_NONE][$i]['_weight'] = array(
  '#type' =&gt; 'weight',
  '#title' =&gt; t('Weight for row ' . ($i + 1)),
  '#title_display' =&gt; 'invisible',
  '#delta' =&gt; $i,
  '#default_value' =&gt; $i,
  '#weight' =&gt; 100,
 );
}
$form_state['default_fields'] = 1;
$form_state['field']['field_toinvest'][LANGUAGE_NONE]['items_count'] = amountOptions - 1;
}