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

 

コードを持っているが、EAを作るのを手伝って欲しい

Moving Stopのコードの一部を持っているのですが、それを使ってEAを作るプログラミングの経験がありません。どなたかEA作成能力のある方、下記のコードでEAを作成していただけませんか?

total=OrdersTotal();

if(total>0){

for(cnt=0;cnt<total;cnt++){

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol()){

if(Bid-OrderOpenPrice()>=Point*15 && Bid-OrderOpenPrice()<Point*20 && OrderStopLoss()< OrderOpenPrice()-5*Point){

OrderModify(OrderTicket(),OrderOpenPrice()-Point*5,OrderTakeProfit(),Blue);

}

if(Bid-OrderOpenPrice()>=Point*20 && OrderStopLoss()< OrderOpenPrice()){

OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),Blue);

}

}

}

}

このEAは、15pips有利に動いたらStopを-5まで動かし、20pips有利に動いたらStopをBreakEvenまで動かすというものです。

 
stu:
私はムービングストップのコードの一部を持っていますが、それを使ってEAを作るプログラミングの経験がありません。どなたかEA作成能力のある方、下記のコードでEAを作成していただけないでしょうか?
total=OrdersTotal();

if(total>0){

for(cnt=0;cnt<total;cnt++){

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol()){

if(Bid-OrderOpenPrice()>=Point*15 && Bid-OrderOpenPrice()<Point*20 && OrderStopLoss()< OrderOpenPrice()-5*Point){

OrderModify(OrderTicket(),OrderOpenPrice()-Point*5,OrderTakeProfit(),Blue);

}

if(Bid-OrderOpenPrice()>=Point*20 && OrderStopLoss()< OrderOpenPrice()){

OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),Blue);

}

}

}

}

EAは、15pips有利に動いた後にStopを-5に移動し、20pips有利に動いた後にStopをBreakEvenに移動します。

stu,

このテクニックをどのEAにも適用したいですか?それとも、このEAのエントリーポイントをお持ちですか?

私はあなたのテクニックは非常に良いものだと思います。

 

EAのエントリーはまだ信用していないので、手動でエントリーします。EAを使うのはエグジットだけでいいと思っています。エントリー戦略よりもエグジット戦略の方が重要だと思う。トレーリングストップは好きではない。ステップムービングストップの方がずっと成功している。トレードをする時間はあっても、出口を監視する時間がないので、EAにこれをやってもらいたいですね。私は、非常に遅いですが、私は非常に特定のエントリ基準を持っているので、それは私のためにうまく機能する、視覚的にバックテストするのが好きです。私は現在、Codergurus AWESOME lesson for BEGINNERS to Programming MQ4:http://www.metatrader.info/node/59 を読んでいます。

Codersguru、あなたがこのスレッドを読んでいるなら、私はあなたに男を教えてあげましょう。あなたは天才です!

このEAを作るのに、まだ助けが必要です。

 

例えば、こんな感じです。

double lot = Lots;

int ticket = GetLastOrder(Symbol(), OP_BUY, MODE_HISTORY);

if (ticket >= 0) {

OrderSelect(ticket, SELECT_BY_TICKET, MODE_HISTORY);

if (OrderProfit() > 0) lot = 2*OrderLots();

}

int GetLastOrder(string symbol, int type, int mode) {

int cnt = -1;

if (mode == MODE_TRADES) cnt = OrdersTotal(); else

if (mode == MODE_HISTORY) cnt = HistoryTotal(); else

return(-1);

int ticket = -1;

datetime dt = 0;

for (int i=0; i < cnt; i++) {

if (!OrderSelect(i, SELECT_BY_POS, mode)) continue;

if (OrderSymbol() != symbol) continue;

if (OrderMagicNumber() != Magic) continue;

if (OrderCloseTime() > dt && OrderType() == type) {

dt = OrderCloseTime();

ticket = OrderTicket();

}

}

return(ticket);

}

 

トレーダーズ・シークレット・コード?

Mark McraeのTraders Secret Codeの詳細を聞いたことがありますか?

私はいくつかの良い評価を聞いたことがあるが、多分それは本当にそれが良いかどうかを伝えるにはあまりにも新しいです。

www.traderssecretcode.com

 

まだ本を売って儲けている理由はないだろう。

 

http://www.traderssecretcode.com/

この動画には、移動平均やフィボナッチ・リトレースメントなど、ほぼすべての戦略が含まれています。

しかし、私は彼のビデオサイトにアクセスできないので、それらがより良いものかどうかわからない。 もし、私が彼のビデオサイトにアクセスできるのであれば、それを共有したいと思います。

誰かアクセスできる人いないかな?

 

私のEAが同じ方向に2回連続して取引する場合、半分の量で取引するコードを探しています。

1.7500でGBPUSDをフルボリュームでロングして、次のシグナルが1.7530でGBPUSDをロングする場合、2回目のトレードはハーフボリュームにすべきです。

基本的には、私のEAは、現在のペアで最後に終了した取引の記録にアクセスし、そのオープン価格と それがショートまたはロングポジションであったかどうかを取得する必要があります。

上記のコードはそのようなことを行うために修正することができますか? 私はそれを自分でやろうとしましたが、それはすべて私にとっては少し高度です。

ありがとうございます

 

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