コーディングの方法は? - ページ 159

 

インジケーター価格表示

ヘルプお願いします

以下のインジケータは、下矢印は表示されますが、価格ラベルが表示されないのはなぜでしょうか? 他のスタイルは正しいレベルで表示されますが、価格が表示されないのでしょうか?

int init()

{

DeleteAllObjects();

IndicatorBuffers(2);

SetIndexBuffer(0,Buy)を設定します。

SetIndexStyle(0,DRAW_ARROW,DRAW_ARROW,BuySize,BuyColor); SetIndexStyle(0,DRAW_ARROW,BuySize,BuyColor);

SetIndexArrow(0,SYMBOL_LEFTPRICE); <表示されません

SetIndexShift(0,1)を実行。

SetIndexBuffer(1,Sell)を設定します。

SetIndexStyle(1,DRAW_ARROW,DRAW_ARROW,SellSize,SellColor) を設定します。

SetIndexArrow(1,SYMBOL_ARROWDOWN); <順調に描画さ れます。

SetIndexShift(1,1);

return(0);

}

ありがとうございました。

 

Squize_MAインジケータ

いいインジケーターですね。

青い線が赤い線と交差したときにアラートを出すといいかもしれませんね。

ありがとうございます。

ファイル:
squize_ma.mq4  3 kb
 

一番大きな損失を出すヒントを教えてください。

 
Wiley:
このサイトでは、このリンクhttps://www.mql5.com/en/forum/176053/page25 に、DIN_Kukus_EA_V2.6のコピーがあります。 このEAの中身を見ると、あなたが自分で説明したように、注文履歴の中の注文の損失をチェックする機能が見つかります。 注文履歴から成功した取引の回数を抽出する方法については、この作業例を参考にしてください。 特定の期間の履歴を抽出するように変更することもできますが、あなたが提案することを自分で実現する方法を見るのに役立つと思います。

こんにちは、Wileyさん。

助けてくれてありがとうございます。

正直なところ、解決策を考えるのに夢中で、質問を投稿したことを忘れていました。

その日はmql4のマニュアルを見ながら過ごし、ある方法を見つけました。

取引開始時間になったら、「OpeningTime」という変数を現在の時間と同じに設定します。取引セッション中、取引が終了したら、EAに注文履歴を巡回させ、指定したチャートとEAからの注文で、終了時刻が「OpeningTime」よりも大きいものを探させます。そして、その注文の利益(または損失)を(OrderProfit()関数を使って)、私が(外部変数で)十分であると設定したものと比較するのです。私は、十分な利益を得た場合、および/または、所定の金額を失った場合に、取引を停止できるように設定しました。

バックテストでは、すでに最適化されたEAの結果を全く改善しない(むしろ悪化させることが多い)ことがわかりました。

でも、最初からもっと厳しい条件を設定することは可能です。だから、EAは最初から「もういいや」という選択肢を使って最適化することができる。それで、かなり成績が良くなったように思います。

ありがとうございました。

ロン

 

添付のDianpoliをEAで使おうとして、icustomでそれらを読むために矢印を追加しましたが、私のicustomラインはそれを拾いません、何か助けをお願いします?

以下はEAで使用しているものです。 val2 = iCustom(Symbol(), Period(), "test3",300,15,1,0); & val3 = iCustom(Symbol(), Period(), "test3",300,15,1,2,0);

ファイル:
test3.mq4  5 kb
 
rwb181:
こんにちは、Wiley。

お世話になります。

正直なところ、解決策を考えるのに夢中で、質問を投稿したことを忘れていました。

その日はmql4のマニュアルを見ながら、ある方法を考え出しました。

取引開始時間になったら、「OpeningTime」という変数を現在の時間と同じに設定します。取引セッション中、取引が終了したら、EAに注文履歴を巡回させ、指定したチャートとEAからの注文で、終了時刻が「OpeningTime」よりも大きいものを探させます。そして、その注文の利益(または損失)を(OrderProfit()関数を使って)、私が(外部変数で)十分であると設定したものと比較するのです。私は、十分な利益を得た場合、および/または、所定の金額を失った場合に、取引を停止できるように設定しました。

バックテストでは、すでに最適化されたEAの結果を全く改善しない(むしろ悪化させることが多い)ことがわかりました。

でも、最初からもっと厳しい条件を設定することは可能です。だから、EAは最初から「もういいや」という選択肢を使って最適化することができる。それで、かなり成績が良くなったように思います。

ありがとうございました。

ロン

いいえ、それは私が必要とするものではありません

 

これで最大限の損失を得ることができる

void history()

{max_loss=0;

int i,hstTotal=OrdersHistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderSymbol()==Symbol()&&OrderProfit()>=max_loss)max_loss=OrderProfit();

{

//code

}

}

}
 

OrderSymbol()==Symbol()&&OrderProfit()>=max_loss

単なるタイプミスだと思いますが・・・。

最大損失を求めるのであれば、比較演算子は「未満()」であるべきです。

ラックス

 
increase:
EAで添付のダイアンポリを使おうとして、icustomでそれらを読むために矢印を追加しましたが、私のicustomラインはそれを拾いません。 以下はEAで私が使っているものです val2 = iCustom(Symbol(), Period(), "test3",300,15,1,1,0); & val3 = iCustom(Symbol(), Period(), "test3",300,15,1,2,0);

誰も助けてくれないようだ、みんな応答してくれ

 

自動エキスパート・アドバイザービルダー

Fastbrokersfxは、無料の(彼らは排他的と呼ぶ)自動化されたエキスパートアドバイザービルダーを備えています。

FastBrokersFXは無料のExpert Advisor Builderを提供します。弊社では、MT4用の取引ロボットを設計するために、経験豊富なプログラマーである必要はありません。数回クリックするだけで、生成されたEAファイルを保存して完了です!"

彼らのホームページからそのリンクをクリックすることで作成することができます。

Fastbrokersfx|外国為替取引|外国為替ECNアクセス|をクリックして作成できます。

幸運を祈ります。

理由: